body,
html {
  width: 100%;
  height: 100%;
}
#app {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  .bg {
    position: fixed;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-image: url('../../images/img/bg.svg');
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-position: center;
    pointer-events: none;
    z-index: -1;
    opacity: 0.6;
    transition: background-image 0.5s ease-in-out;
  }

  .loading {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 5;
    background-image: url('../../images/img/loading.svg');
    background-repeat: no-repeat;
    background-position: center;
    background-size: 10rem 10rem;
    background-color: var(--bg-color-o4);
  }
  .box {
    position: relative;
    background-color: var(--bg-color-o2);
    background-image: url('../../images/img/left_open.png'),
      url('../../images/img/right_open.png');
    background-repeat: no-repeat;
    background-size: 14%;
    background-position: 0 100%, 100% 100%;
    width: 90%;
    max-width: 50rem;
    padding: 3rem 3rem 7rem 3rem;
    margin: auto;
    border-radius: 0.5rem 0 0.5rem 0.5rem;
    transform: translateY(-5rem);
    opacity: 0;
    box-shadow: 0 0 0.5rem var(--color5);
    &:hover {
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      z-index: 11;
    }
    &.open {
      transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
      transform: none;
      opacity: 1;
    }
    &.close {
      background-image: url('../../images/img/left_close.png'),
        url('../../images/img/right_close.png');
    }
    .title {
      font-size: 3rem;
      text-align: center;
      margin-bottom: 1.8rem;
      display: flex;
      flex-flow: row wrap;
      align-items: center;
      span {
        padding: 0 0.5rem;
        &:nth-child(1) {
          color: var(--text-hover-color);
          font-size: 1.5em;
          opacity: 0.8;
        }
        &:nth-child(3) {
          color: var(--icon-color);
          font-size: 2em;
        }
      }
    }
    p {
      height: 3rem;
      line-height: 3rem;
      color: var(--btn-danger-color);
      font-size: 1.5rem;
      white-space: nowrap;
      text-overflow: ellipsis;
      overflow: hidden;
    }

    .inp_box {
      display: flex;
      height: 5rem;
      line-height: 5rem;
      border: 1px solid var(--btn-primary-border-color);
      border-radius: 0.2rem;
      align-items: center;
      &.focus {
        border: 1px solid var(--btn-primary-color);
      }

      input {
        flex: auto;
        width: 0;
        font-size: 1.6rem;
        outline: none;
        border: none;
        background-color: transparent;
        line-height: 1.5;
      }

      i {
        display: none;
        flex: none;
      }
    }

    button {
      width: 70%;
      height: 4rem;
      line-height: 4rem;
      font-size: 1.6rem;
      border: none;
      outline: none;
      padding: 0;
      border: 1px solid;
      margin: 0;
      color: var(--btn-primary-color);
      background-color: var(--btn-primary-bg-color);
      border-color: var(--btn-primary-border-color);
      border-radius: 0.4rem;
      user-select: none;
      opacity: 0.9;

      &:hover {
        color: #fff;
        background-color: var(--btn-primary-color);
        border-color: var(--btn-primary-color);
      }
    }

    .register {
      font-size: 1.8rem;
      height: 2.5rem;
      line-height: 2.5rem;
      user-select: none;
      &:hover {
        color: var(--text-hover-color);
      }
    }
    .setting,
    .pd_config {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .nopd {
      .resetpd:hover,
      .nopd_login:hover {
        color: var(--text-hover-color);
      }
    }
    .dark_state {
      font-size: 2.5rem;
      height: 2.5rem;

      &:hover {
        color: var(--text-hover-color);
        transform: scale(1.2);
      }
    }
    .about {
      position: absolute;
      top: 0.5rem;
      right: 0.5rem;
      font-size: 2.6rem;
      color: var(--icon-color);
      &:hover {
        color: var(--text-hover-color);
        transform: scale(1.2);
      }
    }
  }
  #ratify {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    justify-content: center;
    align-items: center;
    line-height: 1.5;
    z-index: 11;
    .code_box {
      display: none;
      background-color: var(--bg-color-o2);
      margin: auto;
      width: 90%;
      max-width: 50rem;
      padding: 3rem;
      backdrop-filter: blur(8px);
      -webkit-backdrop-filter: blur(8px);
      border-radius: 0.5rem;
      box-shadow: 0 0 0.5rem var(--color5);
      p {
        text-align: center;
        font-size: 1.8rem;
      }
      .code {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-flow: row wrap;
        span {
          font-size: 4rem;
          color: var(--text-hover-color);
          i {
            margin-right: 1rem;
          }
        }
      }
    }
  }
}
